package fr.jade.fraclite.api;

import org.objectweb.fractal.api.Interface;

/**
 * An extended {@link Interface} interface. This extended interface provides
 * access to the object that implements a component interface.
 */

public interface ComponentInterface extends Interface {

  /**
   * Sets the name of this component interface.
   *
   * @param name the new name of this component interface.
   */

  void setFcItfName (String name);

  /**
   * Returns the object that implements this component interface.
   *
   * @return the object that implements this component interface.
   * @see #setFcItfImpl setFcItfImpl
   */

  Object getFcItfImpl ();

  /**
   * Sets the object that implements this component interface.
   *
   * @param impl the object that implements this component interface.
   * @see #getFcItfImpl getFcItfImpl
   */

  void setFcItfImpl (Object impl);
  
}
